Event timers have been implemented in most computing systems. Examples are timers which wait a second for an acknowledgement of a message sent to another computer. Although common, event timers require that the central processing unit (CPU) directly manage the events. As a result, the CPU becomes occupied with monitoring the timing of events. Periodically the event timers interrupt the CPU. High precision with these event timers requires large amounts of CPU time, since the amount of time required for the CPU to handle events is proportional to the precision of the events. Thus, computing systems have been unable to provide high capacity and high precision. Also, many general purpose operating systems have been unable to rapidly switch tasks, making it difficult for the CPU to keep up with events.
For the foregoing reasons, there is a need for an event timer that allows computing systems with or without an operating system to have high capacity, real time, event handling capabilities, without management by the CPU, with the hardware that is often already available on the system.